-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose generic OpenShift routes for KServe InferenceServices #84
Expose generic OpenShift routes for KServe InferenceServices #84
Conversation
Signed-off-by: Vaibhav Jain <[email protected]>
I am testing this PR but I have a couple of questions.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, add unit tests.
To test this PR you need to use odh-model-controller image created by openshift-ci for this corresponding PR.
With this PR, new more generic route would be created in |
Signed-off-by: Vaibhav Jain <[email protected]>
I'm not entirely certain about the testing approach you ultimately used, but if testers or reviewers are expected to rely on the PR image, it would greatly help if you could provide clear and accurate test steps in the description. This would make it much more straightforward to conduct testing using the provided information.
As testers, it's essential that the PR description provides clear guidance on what needs to be verified using the 'Expected result' or 'Expected behavior' sections. Testing can be a time-consuming process for reviewers and testers, so it's crucial for PR senders to provide detailed clarification in this regard. |
On my local, I follow following step for testing :
To support testing for reviewer, I had created a image of |
@Jooho |
/test |
@vaibhavjainwiz: The
Use In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/test all |
Signed-off-by: Vaibhav Jain <[email protected]>
Signed-off-by: Vaibhav Jain <[email protected]>
@israel-hdez I had the unit testcases. Could you please review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vaibhavjainwiz I'm happy with the code.
I still want to test before approving. I didn't have time today.
If you want an approval sooner, maybe work with @rpancham and test it together?
Otherwise, I can try on my Tuesday.
Signed-off-by: Vaibhav Jain <[email protected]>
/retest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested. So far, looks good, with some issues:
- It seems RBAC is missing in this PR. After installing and creating an ISVC I got
spec.host: Forbidden: you do not have permission to set the host field of the route
, which I fixed by modifying the Role to add something like this: Route's new admission routes/custom-host doesn't work for legacy API openshift/origin#14904 (comment).- I remember this RBAC would need to go in some kubebuilder comments, to let it generate them for you. I don't know how to do this.
- Similar permission denied error when trying to delete the ISVC and, thus, trying to delete the route.
- Name conflict. Having two ISVCs with same name on different namespaces, will lead to a conflict in the route.
- Schema mismatch: The ISVC can state that protocol is plain HTTP, while the route will be created for HTTPS.
- Perhaps for our demo/sample setup, this is error config on KServe side (i.e. is config error on my testing). Yet, I think we want to honor the schema in the ISVC, just in case some user wants to use plain HTTP.
Strange these RBAC are already present in code. You should not see this error. I will debug it more. Line 68 in bf310d9
odh-model-controller/config/rbac/role.yaml Line 135 in 8ccb4cc
I updated route name to include isvc.Name + isvc.Namespace so that It would not cause.
Are you talking about below config? |
Signed-off-by: Vaibhav Jain <[email protected]>
Yes, some RBAC is there. Although, it is missing
Yes. That configuration is reflected in the ISVC. So, you don't need to look at the ConfigMap. Just check the schema set in the ISVC. |
Signed-off-by: Vaibhav Jain <[email protected]>
Signed-off-by: Vaibhav Jain <[email protected]>
@israel-hdez I had incoporated all review comments. Could you please review again. |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: israel-hdez, vaibhavjainwiz The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Partial revert of opendatahub-io/odh-manifests#916, because opendatahub-io/odh-model-controller#84 has been completed. Signed-off-by: Edgar Hernández <[email protected]>
Add the vllm image and add the missing @ caikit-standalone-image
Description
With #59 we had implemented a hot fix by exposing predictor URL directly to user but to provide proper fix we need to implement a generic openshift route for kserve inference service.
How Has This Been Tested?
https://github.com/opendatahub-io/caikit-tgis-serving/blob/main/demo/kserve/install-manual.md
https://github.com/opendatahub-io/caikit-tgis-serving/blob/main/demo/kserve/deploy-remove.md
If everything work as mentioned in above step then we are good to go :)
Expected behavior
A new route should be created in
istio-system
namespace with name same as InferenceService. If new route is created then we are good to go :)Merge criteria: